{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Train the model and save the whole session "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import print_function\n",
    "\n",
    "import tensorflow as tf\n",
    "from tensorflow.contrib.tensor_forest.python import tensor_forest\n",
    "from tensorflow.python.ops import resources\n",
    "\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "# Ignore all GPUs, tf random forest does not benefit from it.\n",
    "import os\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n",
    "\n",
    "data = load_iris()\n",
    "dX, dy = data[\"data\"], data[\"target\"]\n",
    "X_train, X_test, y_train, y_test = train_test_split(\n",
    "    dX, dy, test_size=0.33, random_state=42)\n",
    "\n",
    "# Parameters\n",
    "num_steps = 500  # Total steps to train\n",
    "batch_size = 10  # The number of samples per batch\n",
    "num_classes = 3  # The 10 digits\n",
    "num_features = 4  # Each image is 28x28 pixels\n",
    "num_trees = 10\n",
    "max_nodes = 100\n",
    "\n",
    "# Input and Target data\n",
    "X = tf.placeholder(tf.float32, shape=[None, num_features])\n",
    "# For random forest, labels must be integers (the class id)\n",
    "Y = tf.placeholder(tf.int32, shape=[None])\n",
    "\n",
    "# Random Forest Parameters\n",
    "hparams = tensor_forest.ForestHParams(num_classes=num_classes,\n",
    "                                      num_features=num_features,\n",
    "                                      num_trees=num_trees,\n",
    "                                      max_nodes=max_nodes).fill()\n",
    "\n",
    "# Build the Random Forest\n",
    "forest_graph = tensor_forest.RandomForestGraphs(hparams)\n",
    "# Get training graph and loss\n",
    "train_op = forest_graph.training_graph(X, Y)\n",
    "loss_op = forest_graph.training_loss(X, Y)\n",
    "\n",
    "# Measure the accuracy\n",
    "infer_op, _, _ = forest_graph.inference_graph(X)\n",
    "correct_prediction = tf.equal(tf.argmax(infer_op, 1), tf.cast(Y, tf.int64))\n",
    "accuracy_op = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))\n",
    "\n",
    "# Initialize the variables (i.e. assign their default value) and forest resources\n",
    "init_vars = tf.group(tf.global_variables_initializer(),\n",
    "                     resources.initialize_resources(resources.shared_resources()))\n",
    "\n",
    "\n",
    "def next_batch(size):\n",
    "    index = range(len(X_train))\n",
    "    index_batch = np.random.choice(index, size)\n",
    "    return X_train[index_batch], y_train[index_batch]\n",
    "\n",
    "\n",
    "# Start TensorFlow session\n",
    "sess = tf.Session()\n",
    "\n",
    "# Run the initializer\n",
    "sess.run(init_vars)\n",
    "\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "# Training\n",
    "for i in range(1, num_steps + 1):\n",
    "    # Prepare Data\n",
    "    # Get the next batch of MNIST data (only images are needed, not labels)\n",
    "    batch_x, batch_y = next_batch(batch_size)\n",
    "    _, l = sess.run([train_op, loss_op], feed_dict={X: batch_x, Y: batch_y})\n",
    "    if i % 50 == 0 or i == 1:\n",
    "        acc = sess.run(accuracy_op, feed_dict={X: batch_x, Y: batch_y})\n",
    "        print('Step %i, Loss: %f, Acc: %f' % (i, l, acc))\n",
    "# Test Model\n",
    "print(\"Test Accuracy:\", sess.run(\n",
    "    accuracy_op, feed_dict={X: X_test, Y: y_test}))\n",
    "\n",
    "# Print the tensors related to this model\n",
    "print(accuracy_op)\n",
    "print(infer_op)\n",
    "print(X)\n",
    "print(Y)\n",
    "\n",
    "# save the model to a check point file\n",
    "save_path = saver.save(sess, \"/tmp/model.ckpt\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can aslo save the graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "tf.train.write_graph(sess.graph_def, '/tmp', 'train.pbtxt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "node {\r\n",
      "  name: \"Placeholder\"\r\n",
      "  op: \"Placeholder\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "          size: -1\r\n",
      "        }\r\n",
      "        dim {\r\n",
      "          size: 4\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Placeholder_1\"\r\n",
      "  op: \"Placeholder\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "          size: -1\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r",
      "\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_0\"\r\n",
      "  input: \"device_dummy_0/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_0/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_1\"\r\n",
      "  input: \"device_dummy_1/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_1/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_2\"\r\n",
      "  input: \"device_dummy_2/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_2/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_3\"\r\n",
      "  input: \"device_dummy_3/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_3/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_4\"\r\n",
      "  input: \"device_dummy_4/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_4/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_5\"\r\n",
      "  input: \"device_dummy_5/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_5/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r",
      "\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_6\"\r\n",
      "  input: \"device_dummy_6/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_6/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_7\"\r\n",
      "  input: \"device_dummy_7/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_7/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_8\"\r\n",
      "  input: \"device_dummy_8/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_8/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/min\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: -1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/max\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 1.73205077648\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/RandomUniform\"\r\n",
      "  op: \"RandomUniform\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/shape\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"seed2\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/max\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform/mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/RandomUniform\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/sub\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Initializer/random_uniform\"\r\n",
      "  op: \"Add\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/mul\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform/min\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9\"\r\n",
      "  op: \"VariableV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shape\"\r\n",
      "    value {\r\n",
      "      shape {\r\n",
      "        dim {\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_9\"\r\n",
      "  input: \"device_dummy_9/Initializer/random_uniform\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"device_dummy_9/read\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"device_dummy_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-0\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-0/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-0/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-0/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  input: \"stats-0/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-0/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-0/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-0\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-0/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-0/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-0/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"tree-0/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-0/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-0/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-1\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-1/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-1/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-1/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  input: \"stats-1/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-1/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-1/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-1\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-1/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-1/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-1/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"tree-1/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-1/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-1/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-2\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-2/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-2/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-2/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  input: \"stats-2/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-2/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-2/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-2\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-2/\"\r\n",
      "    }\r\n",
      "  }\r",
      "\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-2/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-2/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"tree-2/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-2/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-2/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-3\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-3/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-3/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-3/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  input: \"stats-3/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-3/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-3/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-3\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-3/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-3/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-3/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"tree-3/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-3/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-3/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-4\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-4/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-4/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-4/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  input: \"stats-4/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-4/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-4/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-4\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-4/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-4/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-4/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"tree-4/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-4/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-4/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-5\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-5/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-5/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-5/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  input: \"stats-5/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-5/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-5/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-5\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-5/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-5/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-5/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"tree-5/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-5/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-5/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-6\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-6/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-6/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-6/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  input: \"stats-6/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-6/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-6/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-6\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-6/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-6/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-6/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"tree-6/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-6/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-6/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-7\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-7/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-7/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-7/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  input: \"stats-7/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-7/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-7/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-7\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-7/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-7/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-7/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"tree-7/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-7/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-7/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-8\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-8/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-8/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-8/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  input: \"stats-8/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-8/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-8/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-8\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-8/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-8/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-8/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"tree-8/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-8/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-8/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-9\"\r\n",
      "  op: \"FertileStatsResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"stats-9/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-9/CreateFertileStatsVariable/stats_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-9/CreateFertileStatsVariable\"\r\n",
      "  op: \"CreateFertileStatsVariable\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  input: \"stats-9/CreateFertileStatsVariable/stats_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-9/FertileStatsIsInitializedOp\"\r\n",
      "  op: \"FertileStatsIsInitializedOp\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stats-9/FertileStatsSerialize\"\r\n",
      "  op: \"FertileStatsSerialize\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-9\"\r\n",
      "  op: \"DecisionTreeResourceHandleOp\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"container\"\r\n",
      "    value {\r\n",
      "      s: \"\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"shared_name\"\r\n",
      "    value {\r\n",
      "      s: \"tree-9/\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-9/CreateTreeVariable/tree_config\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-9/CreateTreeVariable\"\r\n",
      "  op: \"CreateTreeVariable\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"tree-9/CreateTreeVariable/tree_config\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-9/TreeIsInitializedOp\"\r\n",
      "  op: \"TreeIsInitializedOp\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"tree-9/TreeSerialize\"\r\n",
      "  op: \"TreeSerialize\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToFloat\"\r\n",
      "  op: \"Cast\"\r\n",
      "  input: \"Placeholder_1\"\r\n",
      "  attr {\r\n",
      "    key: \"DstT\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"SrcT\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Truncate\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"TraverseTreeV4\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4/input_weights\"\r\n",
      "  input: \"TraverseTreeV4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  input: \"ProcessInputV4\"\r\n",
      "  input: \"^UpdateModelV4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_1/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_1/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_1/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_1/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_1\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_1/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_1/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_1/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_1/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_1\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"TraverseTreeV4_1\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_1/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_1/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_1/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_1/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_1/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_1\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_1/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_1/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_1/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_1/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_1\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  input: \"ProcessInputV4_1\"\r\n",
      "  input: \"^UpdateModelV4_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_2/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r",
      "\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_2/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_2/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_2/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r",
      "\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_2\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_2/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_2/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_2/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_2/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_2\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"TraverseTreeV4_2\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_2/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_2/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_2/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_2/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_2/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_2\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_2/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_2/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_2/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_2/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_2\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  input: \"ProcessInputV4_2\"\r\n",
      "  input: \"^UpdateModelV4_2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_3/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_3/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_3/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_3/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_3\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_3/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_3/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_3/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_3/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_3\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"TraverseTreeV4_3\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_3/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_3/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_3/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_3/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_3/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_3\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_3/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_3/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_3/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_3/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_3\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  input: \"ProcessInputV4_3\"\r\n",
      "  input: \"^UpdateModelV4_3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_4/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_4\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_4/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_4/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_4/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_4/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_4\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"TraverseTreeV4_4\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_4/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_4/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_4\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_4/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_4/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_4/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_4/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_4\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  input: \"ProcessInputV4_4\"\r\n",
      "  input: \"^UpdateModelV4_4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_5/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_5/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_5/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_5/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_5\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_5/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_5/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_5/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_5/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_5\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"TraverseTreeV4_5\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_5/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_5/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_5/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_5/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_5/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_5\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_5/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_5/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_5/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_5/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_5\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  input: \"ProcessInputV4_5\"\r\n",
      "  input: \"^UpdateModelV4_5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_6/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_6/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_6/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_6/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_6\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_6/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_6/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_6/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_6/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_6\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"TraverseTreeV4_6\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_6/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_6/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_6/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_6/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_6/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_6\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_6/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_6/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_6/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_6/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_6\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  input: \"ProcessInputV4_6\"\r\n",
      "  input: \"^UpdateModelV4_6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_7/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_7/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_7/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_7/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_7\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_7/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_7/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_7/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_7/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_7\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"TraverseTreeV4_7\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_7/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_7/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_7/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r",
      "\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_7/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_7/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_7\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_7/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_7/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_7/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_7/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_7\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  input: \"ProcessInputV4_7\"\r\n",
      "  input: \"^UpdateModelV4_7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_8/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r",
      "\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_8/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_8/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_8/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_8\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_8/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_8/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_8/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_8/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r",
      "\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_8\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"TraverseTreeV4_8\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_8/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_8/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_8/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_8/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_8/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_8\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_8/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_8/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_8/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_8/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_8\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  input: \"ProcessInputV4_8\"\r\n",
      "  input: \"^UpdateModelV4_8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToInt32_9/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_9/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_9/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_9/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TraverseTreeV4_9\"\r\n",
      "  op: \"TraverseTreeV4\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TraverseTreeV4_9/sparse_input_indices\"\r\n",
      "  input: \"TraverseTreeV4_9/sparse_input_values\"\r\n",
      "  input: \"TraverseTreeV4_9/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_9/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"UpdateModelV4_9\"\r\n",
      "  op: \"UpdateModelV4\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"TraverseTreeV4_9\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"UpdateModelV4_9/input_weights\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_9/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_9/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_9/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_9/input_weights\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ProcessInputV4_9\"\r\n",
      "  op: \"ProcessInputV4\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"ProcessInputV4_9/sparse_input_indices\"\r\n",
      "  input: \"ProcessInputV4_9/sparse_input_values\"\r\n",
      "  input: \"ProcessInputV4_9/sparse_input_shape\"\r\n",
      "  input: \"ToFloat\"\r\n",
      "  input: \"ProcessInputV4_9/input_weights\"\r\n",
      "  input: \"TraverseTreeV4_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"random_seed\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"GrowTreeV4_9\"\r\n",
      "  op: \"GrowTreeV4\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  input: \"ProcessInputV4_9\"\r\n",
      "  input: \"^UpdateModelV4_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"train\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^GrowTreeV4\"\r\n",
      "  input: \"^GrowTreeV4_1\"\r\n",
      "  input: \"^GrowTreeV4_2\"\r\n",
      "  input: \"^GrowTreeV4_3\"\r\n",
      "  input: \"^GrowTreeV4_4\"\r\n",
      "  input: \"^GrowTreeV4_5\"\r\n",
      "  input: \"^GrowTreeV4_6\"\r\n",
      "  input: \"^GrowTreeV4_7\"\r\n",
      "  input: \"^GrowTreeV4_8\"\r\n",
      "  input: \"^GrowTreeV4_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_1\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_2\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_3\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_4\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_5\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_6\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_7\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_8\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreeSize_9\"\r\n",
      "  op: \"TreeSize\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stack\"\r\n",
      "  op: \"Pack\"\r\n",
      "  input: \"TreeSize\"\r\n",
      "  input: \"TreeSize_1\"\r\n",
      "  input: \"TreeSize_2\"\r\n",
      "  input: \"TreeSize_3\"\r\n",
      "  input: \"TreeSize_4\"\r\n",
      "  input: \"TreeSize_5\"\r\n",
      "  input: \"TreeSize_6\"\r\n",
      "  input: \"TreeSize_7\"\r\n",
      "  input: \"TreeSize_8\"\r\n",
      "  input: \"TreeSize_9\"\r\n",
      "  attr {\r\n",
      "    key: \"N\"\r\n",
      "    value {\r\n",
      "      i: 10\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"axis\"\r\n",
      "    value {\r\n",
      "      i: 0\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ToFloat_1\"\r\n",
      "  op: \"Cast\"\r\n",
      "  input: \"stack\"\r\n",
      "  attr {\r\n",
      "    key: \"DstT\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"SrcT\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Truncate\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Const\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Mean\"\r\n",
      "  op: \"Mean\"\r\n",
      "  input: \"ToFloat_1\"\r\n",
      "  input: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Tidx\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"keep_dims\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"training_loss\"\r\n",
      "  op: \"Neg\"\r\n",
      "  input: \"Mean\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r",
      "\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_1/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_1/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_1/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_1\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_1/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_1/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_1/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r",
      "\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_2/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_2/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_2/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_2\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_2/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_2/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_2/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_3/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_3/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_3/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_3\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_3/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_3/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_3/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_4/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_4/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_4/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_4\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_4/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_4/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_4/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_5/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_5/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_5/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_5\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_5/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_5/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_5/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_6/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_6/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_6/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_6\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_6/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_6/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_6/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_7/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_7/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_7/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_7\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_7/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_7/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_7/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_8/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_8/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_8/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_8\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_8/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_8/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_8/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_9/sparse_input_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_9/sparse_input_values\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_9/sparse_input_shape\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT64\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "          }\r\n",
      "        }\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"TreePredictionsV4_9\"\r\n",
      "  op: \"TreePredictionsV4\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"Placeholder\"\r\n",
      "  input: \"TreePredictionsV4_9/sparse_input_indices\"\r\n",
      "  input: \"TreePredictionsV4_9/sparse_input_values\"\r\n",
      "  input: \"TreePredictionsV4_9/sparse_input_shape\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"input_spec\"\r\n",
      "    value {\r\n",
      "      s: \"dense_features_size: 4 dense: [{name: dense_features original_type: 0 size: 4}] sparse: []\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stack_1\"\r\n",
      "  op: \"Pack\"\r\n",
      "  input: \"TreePredictionsV4\"\r\n",
      "  input: \"TreePredictionsV4_1\"\r\n",
      "  input: \"TreePredictionsV4_2\"\r\n",
      "  input: \"TreePredictionsV4_3\"\r\n",
      "  input: \"TreePredictionsV4_4\"\r\n",
      "  input: \"TreePredictionsV4_5\"\r\n",
      "  input: \"TreePredictionsV4_6\"\r\n",
      "  input: \"TreePredictionsV4_7\"\r\n",
      "  input: \"TreePredictionsV4_8\"\r\n",
      "  input: \"TreePredictionsV4_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"N\"\r\n",
      "    value {\r\n",
      "      i: 10\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"axis\"\r\n",
      "    value {\r\n",
      "      i: 1\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Sum/reduction_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        int_val: 1\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Sum\"\r\n",
      "  op: \"Sum\"\r\n",
      "  input: \"stack_1\"\r\n",
      "  input: \"Sum/reduction_indices\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Tidx\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"keep_dims\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"probabilities/y\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r",
      "\r\n",
      "        }\r\n",
      "        float_val: 10.0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"probabilities\"\r\n",
      "  op: \"RealDiv\"\r\n",
      "  input: \"Sum\"\r\n",
      "  input: \"probabilities/y\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"stack_2\"\r\n",
      "  op: \"Pack\"\r\n",
      "  input: \"TreePredictionsV4:1\"\r\n",
      "  input: \"TreePredictionsV4_1:1\"\r\n",
      "  input: \"TreePredictionsV4_2:1\"\r\n",
      "  input: \"TreePredictionsV4_3:1\"\r\n",
      "  input: \"TreePredictionsV4_4:1\"\r\n",
      "  input: \"TreePredictionsV4_5:1\"\r\n",
      "  input: \"TreePredictionsV4_6:1\"\r\n",
      "  input: \"TreePredictionsV4_7:1\"\r\n",
      "  input: \"TreePredictionsV4_8:1\"\r\n",
      "  input: \"TreePredictionsV4_9:1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"N\"\r\n",
      "    value {\r\n",
      "      i: 10\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"axis\"\r\n",
      "    value {\r\n",
      "      i: 1\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"mul\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"stack_1\"\r\n",
      "  input: \"stack_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Sum_1/reduction_indices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        int_val: 1\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Sum_1\"\r\n",
      "  op: \"Sum\"\r\n",
      "  input: \"mul\"\r\n",
      "  input: \"Sum_1/reduction_indices\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Tidx\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"keep_dims\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"div/y\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 10.0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"div\"\r\n",
      "  op: \"RealDiv\"\r\n",
      "  input: \"Sum_1\"\r\n",
      "  input: \"div/y\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"mul_1\"\r\n",
      "  op: \"Mul\"\r\n",
      "  input: \"probabilities\"\r\n",
      "  input: \"probabilities\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"sub\"\r\n",
      "  op: \"Sub\"\r\n",
      "  input: \"div\"\r\n",
      "  input: \"mul_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Maximum/x\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_FLOAT\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        float_val: 0.0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Maximum\"\r\n",
      "  op: \"Maximum\"\r\n",
      "  input: \"Maximum/x\"\r\n",
      "  input: \"sub\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ArgMax/dimension\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        int_val: 1\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"ArgMax\"\r\n",
      "  op: \"ArgMax\"\r\n",
      "  input: \"probabilities\"\r\n",
      "  input: \"ArgMax/dimension\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Tidx\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"output_type\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Cast\"\r\n",
      "  op: \"Cast\"\r\n",
      "  input: \"Placeholder_1\"\r\n",
      "  attr {\r\n",
      "    key: \"DstT\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"SrcT\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Truncate\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Equal\"\r\n",
      "  op: \"Equal\"\r\n",
      "  input: \"ArgMax\"\r\n",
      "  input: \"Cast\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_INT64\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Cast_1\"\r\n",
      "  op: \"Cast\"\r\n",
      "  input: \"Equal\"\r\n",
      "  attr {\r\n",
      "    key: \"DstT\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"SrcT\"\r\n",
      "    value {\r\n",
      "      type: DT_BOOL\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Truncate\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Const_1\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_INT32\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 1\r\n",
      "          }\r\n",
      "        }\r\n",
      "        int_val: 0\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"Mean_1\"\r\n",
      "  op: \"Mean\"\r\n",
      "  input: \"Cast_1\"\r\n",
      "  input: \"Const_1\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"Tidx\"\r\n",
      "    value {\r\n",
      "      type: DT_INT32\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"keep_dims\"\r\n",
      "    value {\r\n",
      "      b: false\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"init\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^device_dummy_0/Assign\"\r\n",
      "  input: \"^device_dummy_1/Assign\"\r\n",
      "  input: \"^device_dummy_2/Assign\"\r\n",
      "  input: \"^device_dummy_3/Assign\"\r\n",
      "  input: \"^device_dummy_4/Assign\"\r\n",
      "  input: \"^device_dummy_5/Assign\"\r\n",
      "  input: \"^device_dummy_6/Assign\"\r\n",
      "  input: \"^device_dummy_7/Assign\"\r\n",
      "  input: \"^device_dummy_8/Assign\"\r\n",
      "  input: \"^device_dummy_9/Assign\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"init_1\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^stats-0/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-1/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-2/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-3/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-4/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-5/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-6/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-7/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-8/CreateFertileStatsVariable\"\r\n",
      "  input: \"^stats-9/CreateFertileStatsVariable\"\r\n",
      "  input: \"^tree-0/CreateTreeVariable\"\r\n",
      "  input: \"^tree-1/CreateTreeVariable\"\r\n",
      "  input: \"^tree-2/CreateTreeVariable\"\r\n",
      "  input: \"^tree-3/CreateTreeVariable\"\r\n",
      "  input: \"^tree-4/CreateTreeVariable\"\r\n",
      "  input: \"^tree-5/CreateTreeVariable\"\r\n",
      "  input: \"^tree-6/CreateTreeVariable\"\r\n",
      "  input: \"^tree-7/CreateTreeVariable\"\r\n",
      "  input: \"^tree-8/CreateTreeVariable\"\r\n",
      "  input: \"^tree-9/CreateTreeVariable\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"group_deps\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^init\"\r\n",
      "  input: \"^init_1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Const\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "        }\r\n",
      "        string_val: \"model\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/SaveV2/tensor_names\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 30\r\n",
      "          }\r\n",
      "        }\r\n",
      "        string_val: \"device_dummy_0\"\r\n",
      "        string_val: \"device_dummy_1\"\r\n",
      "        string_val: \"device_dummy_2\"\r\n",
      "        string_val: \"device_dummy_3\"\r\n",
      "        string_val: \"device_dummy_4\"\r\n",
      "        string_val: \"device_dummy_5\"\r\n",
      "        string_val: \"device_dummy_6\"\r\n",
      "        string_val: \"device_dummy_7\"\r\n",
      "        string_val: \"device_dummy_8\"\r\n",
      "        string_val: \"device_dummy_9\"\r\n",
      "        string_val: \"stats-0:0\"\r\n",
      "        string_val: \"stats-1:0\"\r\n",
      "        string_val: \"stats-2:0\"\r\n",
      "        string_val: \"stats-3:0\"\r\n",
      "        string_val: \"stats-4:0\"\r\n",
      "        string_val: \"stats-5:0\"\r\n",
      "        string_val: \"stats-6:0\"\r\n",
      "        string_val: \"stats-7:0\"\r\n",
      "        string_val: \"stats-8:0\"\r\n",
      "        string_val: \"stats-9:0\"\r\n",
      "        string_val: \"tree-0:0\"\r\n",
      "        string_val: \"tree-1:0\"\r\n",
      "        string_val: \"tree-2:0\"\r\n",
      "        string_val: \"tree-3:0\"\r\n",
      "        string_val: \"tree-4:0\"\r\n",
      "        string_val: \"tree-5:0\"\r\n",
      "        string_val: \"tree-6:0\"\r\n",
      "        string_val: \"tree-7:0\"\r\n",
      "        string_val: \"tree-8:0\"\r\n",
      "        string_val: \"tree-9:0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/SaveV2/shape_and_slices\"\r\n",
      "  op: \"Const\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 30\r\n",
      "          }\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/SaveV2\"\r\n",
      "  op: \"SaveV2\"\r\n",
      "  input: \"save/Const\"\r\n",
      "  input: \"save/SaveV2/tensor_names\"\r\n",
      "  input: \"save/SaveV2/shape_and_slices\"\r\n",
      "  input: \"device_dummy_0\"\r\n",
      "  input: \"device_dummy_1\"\r\n",
      "  input: \"device_dummy_2\"\r\n",
      "  input: \"device_dummy_3\"\r\n",
      "  input: \"device_dummy_4\"\r\n",
      "  input: \"device_dummy_5\"\r\n",
      "  input: \"device_dummy_6\"\r\n",
      "  input: \"device_dummy_7\"\r\n",
      "  input: \"device_dummy_8\"\r\n",
      "  input: \"device_dummy_9\"\r\n",
      "  input: \"stats-0/FertileStatsSerialize\"\r\n",
      "  input: \"stats-1/FertileStatsSerialize\"\r\n",
      "  input: \"stats-2/FertileStatsSerialize\"\r\n",
      "  input: \"stats-3/FertileStatsSerialize\"\r\n",
      "  input: \"stats-4/FertileStatsSerialize\"\r\n",
      "  input: \"stats-5/FertileStatsSerialize\"\r\n",
      "  input: \"stats-6/FertileStatsSerialize\"\r\n",
      "  input: \"stats-7/FertileStatsSerialize\"\r\n",
      "  input: \"stats-8/FertileStatsSerialize\"\r\n",
      "  input: \"stats-9/FertileStatsSerialize\"\r\n",
      "  input: \"tree-0/TreeSerialize\"\r\n",
      "  input: \"tree-1/TreeSerialize\"\r\n",
      "  input: \"tree-2/TreeSerialize\"\r\n",
      "  input: \"tree-3/TreeSerialize\"\r\n",
      "  input: \"tree-4/TreeSerialize\"\r\n",
      "  input: \"tree-5/TreeSerialize\"\r\n",
      "  input: \"tree-6/TreeSerialize\"\r\n",
      "  input: \"tree-7/TreeSerialize\"\r\n",
      "  input: \"tree-8/TreeSerialize\"\r\n",
      "  input: \"tree-9/TreeSerialize\"\r\n",
      "  attr {\r\n",
      "    key: \"dtypes\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/control_dependency\"\r\n",
      "  op: \"Identity\"\r\n",
      "  input: \"save/Const\"\r\n",
      "  input: \"^save/SaveV2\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@save/Const\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/RestoreV2/tensor_names\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 30\r\n",
      "          }\r\n",
      "        }\r\n",
      "        string_val: \"device_dummy_0\"\r\n",
      "        string_val: \"device_dummy_1\"\r\n",
      "        string_val: \"device_dummy_2\"\r\n",
      "        string_val: \"device_dummy_3\"\r\n",
      "        string_val: \"device_dummy_4\"\r\n",
      "        string_val: \"device_dummy_5\"\r\n",
      "        string_val: \"device_dummy_6\"\r\n",
      "        string_val: \"device_dummy_7\"\r\n",
      "        string_val: \"device_dummy_8\"\r\n",
      "        string_val: \"device_dummy_9\"\r\n",
      "        string_val: \"stats-0:0\"\r\n",
      "        string_val: \"stats-1:0\"\r\n",
      "        string_val: \"stats-2:0\"\r\n",
      "        string_val: \"stats-3:0\"\r\n",
      "        string_val: \"stats-4:0\"\r\n",
      "        string_val: \"stats-5:0\"\r\n",
      "        string_val: \"stats-6:0\"\r\n",
      "        string_val: \"stats-7:0\"\r\n",
      "        string_val: \"stats-8:0\"\r\n",
      "        string_val: \"stats-9:0\"\r\n",
      "        string_val: \"tree-0:0\"\r\n",
      "        string_val: \"tree-1:0\"\r\n",
      "        string_val: \"tree-2:0\"\r\n",
      "        string_val: \"tree-3:0\"\r\n",
      "        string_val: \"tree-4:0\"\r\n",
      "        string_val: \"tree-5:0\"\r\n",
      "        string_val: \"tree-6:0\"\r\n",
      "        string_val: \"tree-7:0\"\r\n",
      "        string_val: \"tree-8:0\"\r\n",
      "        string_val: \"tree-9:0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/RestoreV2/shape_and_slices\"\r\n",
      "  op: \"Const\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtype\"\r\n",
      "    value {\r\n",
      "      type: DT_STRING\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"value\"\r\n",
      "    value {\r\n",
      "      tensor {\r\n",
      "        dtype: DT_STRING\r\n",
      "        tensor_shape {\r\n",
      "          dim {\r\n",
      "            size: 30\r\n",
      "          }\r\n",
      "        }\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "        string_val: \"\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/RestoreV2\"\r\n",
      "  op: \"RestoreV2\"\r\n",
      "  input: \"save/Const\"\r\n",
      "  input: \"save/RestoreV2/tensor_names\"\r\n",
      "  input: \"save/RestoreV2/shape_and_slices\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"dtypes\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_FLOAT\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "        type: DT_STRING\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_0\"\r\n",
      "  input: \"save/RestoreV2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_0\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_1\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_1\"\r\n",
      "  input: \"save/RestoreV2:1\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_1\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_2\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_2\"\r\n",
      "  input: \"save/RestoreV2:2\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_2\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_3\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_3\"\r\n",
      "  input: \"save/RestoreV2:3\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_3\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_4\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_4\"\r\n",
      "  input: \"save/RestoreV2:4\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_4\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_5\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_5\"\r\n",
      "  input: \"save/RestoreV2:5\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_5\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_6\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_6\"\r\n",
      "  input: \"save/RestoreV2:6\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_6\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_7\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_7\"\r\n",
      "  input: \"save/RestoreV2:7\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_7\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_8\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_8\"\r\n",
      "  input: \"save/RestoreV2:8\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_8\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/Assign_9\"\r\n",
      "  op: \"Assign\"\r\n",
      "  input: \"device_dummy_9\"\r\n",
      "  input: \"save/RestoreV2:9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "  attr {\r\n",
      "    key: \"T\"\r\n",
      "    value {\r\n",
      "      type: DT_FLOAT\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"_class\"\r\n",
      "    value {\r\n",
      "      list {\r\n",
      "        s: \"loc:@device_dummy_9\"\r\n",
      "      }\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"use_locking\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "  attr {\r\n",
      "    key: \"validate_shape\"\r\n",
      "    value {\r\n",
      "      b: true\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-0\"\r\n",
      "  input: \"save/RestoreV2:10\"\r\n",
      "  input: \"^stats-0/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_1\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-1\"\r\n",
      "  input: \"save/RestoreV2:11\"\r\n",
      "  input: \"^stats-1/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_2\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-2\"\r\n",
      "  input: \"save/RestoreV2:12\"\r\n",
      "  input: \"^stats-2/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_3\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-3\"\r\n",
      "  input: \"save/RestoreV2:13\"\r\n",
      "  input: \"^stats-3/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_4\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-4\"\r\n",
      "  input: \"save/RestoreV2:14\"\r\n",
      "  input: \"^stats-4/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_5\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-5\"\r\n",
      "  input: \"save/RestoreV2:15\"\r\n",
      "  input: \"^stats-5/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_6\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-6\"\r\n",
      "  input: \"save/RestoreV2:16\"\r\n",
      "  input: \"^stats-6/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_7\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-7\"\r\n",
      "  input: \"save/RestoreV2:17\"\r\n",
      "  input: \"^stats-7/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_8\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-8\"\r\n",
      "  input: \"save/RestoreV2:18\"\r\n",
      "  input: \"^stats-8/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/FertileStatsDeserialize_9\"\r\n",
      "  op: \"FertileStatsDeserialize\"\r\n",
      "  input: \"stats-9\"\r\n",
      "  input: \"save/RestoreV2:19\"\r\n",
      "  input: \"^stats-9/CreateFertileStatsVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-0\"\r\n",
      "  input: \"save/RestoreV2:20\"\r\n",
      "  input: \"^tree-0/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_1\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-1\"\r\n",
      "  input: \"save/RestoreV2:21\"\r\n",
      "  input: \"^tree-1/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_2\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-2\"\r\n",
      "  input: \"save/RestoreV2:22\"\r\n",
      "  input: \"^tree-2/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_3\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-3\"\r\n",
      "  input: \"save/RestoreV2:23\"\r\n",
      "  input: \"^tree-3/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_4\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-4\"\r\n",
      "  input: \"save/RestoreV2:24\"\r\n",
      "  input: \"^tree-4/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_5\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-5\"\r\n",
      "  input: \"save/RestoreV2:25\"\r\n",
      "  input: \"^tree-5/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_6\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-6\"\r\n",
      "  input: \"save/RestoreV2:26\"\r\n",
      "  input: \"^tree-6/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_7\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-7\"\r\n",
      "  input: \"save/RestoreV2:27\"\r\n",
      "  input: \"^tree-7/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_8\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-8\"\r\n",
      "  input: \"save/RestoreV2:28\"\r\n",
      "  input: \"^tree-8/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/TreeDeserialize_9\"\r\n",
      "  op: \"TreeDeserialize\"\r\n",
      "  input: \"tree-9\"\r\n",
      "  input: \"save/RestoreV2:29\"\r\n",
      "  input: \"^tree-9/CreateTreeVariable\"\r\n",
      "  attr {\r\n",
      "    key: \"params\"\r\n",
      "    value {\r\n",
      "      s: \"\\\"\\007\\n\\005\\r\\000\\000\\000\\000*\\007\\n\\005\\r\\000\\000\\000\\0000\\n8d`\\003j\\005\\r\\000\\000 Ar\\005\\r\\000\\000zCz\\005\\r\\244p}?\\250\\001\\004\"\r\n",
      "    }\r\n",
      "  }\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/restore_all/NoOp\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^save/FertileStatsDeserialize\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_1\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_2\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_3\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_4\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_5\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_6\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_7\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_8\"\r\n",
      "  input: \"^save/FertileStatsDeserialize_9\"\r\n",
      "  input: \"^save/TreeDeserialize\"\r\n",
      "  input: \"^save/TreeDeserialize_1\"\r\n",
      "  input: \"^save/TreeDeserialize_2\"\r\n",
      "  input: \"^save/TreeDeserialize_3\"\r\n",
      "  input: \"^save/TreeDeserialize_4\"\r\n",
      "  input: \"^save/TreeDeserialize_5\"\r\n",
      "  input: \"^save/TreeDeserialize_6\"\r\n",
      "  input: \"^save/TreeDeserialize_7\"\r\n",
      "  input: \"^save/TreeDeserialize_8\"\r\n",
      "  input: \"^save/TreeDeserialize_9\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/restore_all/NoOp_1\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^save/Assign\"\r\n",
      "  input: \"^save/Assign_1\"\r\n",
      "  input: \"^save/Assign_2\"\r\n",
      "  input: \"^save/Assign_3\"\r\n",
      "  input: \"^save/Assign_4\"\r\n",
      "  input: \"^save/Assign_5\"\r\n",
      "  input: \"^save/Assign_6\"\r\n",
      "  input: \"^save/Assign_7\"\r\n",
      "  input: \"^save/Assign_8\"\r\n",
      "  input: \"^save/Assign_9\"\r\n",
      "  device: \"/device:CPU:0\"\r\n",
      "}\r\n",
      "node {\r\n",
      "  name: \"save/restore_all\"\r\n",
      "  op: \"NoOp\"\r\n",
      "  input: \"^save/restore_all/NoOp\"\r\n",
      "  input: \"^save/restore_all/NoOp_1\"\r\n",
      "}\r\n",
      "versions {\r\n",
      "  producer: 27\r\n",
      "}\r\n"
     ]
    }
   ],
   "source": [
    "%cat /tmp/train.pbtxt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from IPython.display import clear_output, Image, display, HTML\n",
    "from google.protobuf import text_format\n",
    "\n",
    "def strip_consts(graph_def, max_const_size=32):\n",
    "    \"\"\"Strip large constant values from graph_def.\"\"\"\n",
    "    strip_def = tf.GraphDef()\n",
    "    for n0 in graph_def.node:\n",
    "        n = strip_def.node.add() \n",
    "        n.MergeFrom(n0)\n",
    "        if n.op == 'Const':\n",
    "            tensor = n.attr['value'].tensor\n",
    "            size = len(tensor.tensor_content)\n",
    "            if size > max_const_size:\n",
    "                tensor.tensor_content = \"<stripped %d bytes>\"%size\n",
    "    return strip_def\n",
    "\n",
    "def show_graph(graph_def, max_const_size=32):\n",
    "    \"\"\"Visualize TensorFlow graph.\"\"\"\n",
    "    if hasattr(graph_def, 'as_graph_def'):\n",
    "        graph_def = graph_def.as_graph_def()\n",
    "    strip_def = strip_consts(graph_def, max_const_size=max_const_size)\n",
    "    code = \"\"\"\n",
    "        <script>\n",
    "          function load() {{\n",
    "            document.getElementById(\"{id}\").pbtxt = {data};\n",
    "          }}\n",
    "        </script>\n",
    "        <link rel=\"import\" href=\"https://tensorboard.appspot.com/tf-graph-basic.build.html\" onload=load()>\n",
    "        <div style=\"height:600px\">\n",
    "          <tf-graph-basic id=\"{id}\"></tf-graph-basic>\n",
    "        </div>\n",
    "    \"\"\".format(data=repr(str(strip_def)), id='graph'+str(np.random.rand()))\n",
    "\n",
    "    iframe = \"\"\"\n",
    "        <iframe seamless style=\"width:1200px;height:620px;border:0\" srcdoc=\"{}\"></iframe>\n",
    "    \"\"\".format(code.replace('\"', '&quot;'))\n",
    "    display(HTML(iframe))\n",
    "    \n",
    "gdef = tf.GraphDef()\n",
    "\n",
    "text_format.Merge(open(\"/tmp/train.pbtxt\").read(), gdef)\n",
    "show_graph(gdef)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
